﻿//在一个方法需要返回多个参数的时候，一般在参数列表里面声明out类型的参数，以便输出多个返回值。
//其中，out参数只负责把结果输出，不负责输入参数。一般out声明的变量需要在方法体内部赋值

namespace 练习
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] ShuZi = { 1, 2, 3, 4, 5, 6 };
            int max1;
            int min1;
            int sum1;
            JiSuan(ShuZi, out max1, out min1, out sum1);
            Console.WriteLine("数组的最大值为：{0}，数组的最小值为：{1}，数组的和为：{2}", max1, min1, sum1);
            Console.ReadKey();
        }
        public static void JiSuan(int[] number, out int max, out int min, out int sum)
        {
            max = number[0];
            min = number[0];
            sum = 0;
            for (int i = 0; i < 6; i++)
            {
                sum += number[i];
                if (number[i] > max)
                {
                    max = number[i];
                }
                else
                {
                    min = number[i];
                }
            }
        }
    }
}
//输出结果为：最大值：6，最小值：1，和为21 
//out指定的参数必须在函数定义的时候就赋初值。否则则出现错误。
//对比ref指定的参数则可以不在函数内部进行赋初值，在函数调用时候再赋初值也可以。